package com.andova.empty.api;

import android.app.Activity;

import com.andova.empty.app.EmptyLifecycle;

import java.util.List;

import androidx.annotation.LayoutRes;
import androidx.annotation.NonNull;

/**
 * Created by Administrator on 2018-03-21.
 *
 * @author kzaxil
 * @since 1.0.0
 */
public interface IEmptyManager {
    List<Integer> validIdList(Activity activity);

    IEmptyActivityOption activityOption(Activity activity);

    IEmptyApplicationOption appOption();

    IEmptyManager validIdList(Activity activity, List<Integer> list);

    IEmptyManager activityOption(Activity activity, IEmptyActivityOption layoutOption);

    EmptyLifecycle initialize(@NonNull IEmptyApplicationOption emptyOption);

    void errorView();

    void loadingView();

    void contentView();

    void emptyView();

    void layoutView(Activity activity, @LayoutRes int layoutId);

    void emptyView(Activity activity, @LayoutRes int layoutId);

    void errorView(Activity activity, @LayoutRes int layoutId);

    void loadingView(Activity activity, @LayoutRes int layoutId);

    void contentView(Activity activity, @LayoutRes int layoutId);

    void removeOption(Activity activity);

    void removeIdList(Activity activity);
}
